An exchange is a central marketplace with established rules and regulations where buyers and sellers meet to trade. Some exchanges, referred to as open outcry exchanges, operate using a trading floor where buyers and sellers physically meet on the floor to trade. Other exchanges, referred to as electronic exchanges, operate by an electronic or telecommunications network instead of a trading floor to facilitate trading in an efficient, versatile, and functional manner. Electronic exchanges have made it possible for an increasing number of people to actively participate in a market at any given time. The increase in the number of potential market participants has advantageously led to, among other things, a more competitive market and greater liquidity.
With respect to electronic exchanges, buyers and sellers may log onto an electronic exchange trading platform by way of a communication link through their user terminals. Once connected, buyers and sellers may typically choose which tradeable objects they wish to trade. As used herein, the term “tradeable object” refers to anything that can be traded with a quantity and/or price. It includes, but is not limited to, all types of traded events, goods and/or financial products, which can include, for example, stocks, options, bonds, futures, currency, and warrants, as well as funds, derivatives and collections of the foregoing, and all types of commodities, such as grains, energy, and metals. The tradeable object may be “real,” such as products that are listed by an exchange for trading, or “synthetic,” such as a combination of real products that is created by the user. A tradeable object could actually be a combination of other tradeable objects, such as a class of tradeable objects.
To profit in today's rapidly moving markets, traders must be able to assimilate and react to enormous amounts of data. For example, a trader may constantly have to review market data, world news, business news, and so on before making trades. Consequently, a skilled trader with the quickest software, the fastest communications, and the most sophisticated analysis can significantly improve the trader's own or potential profits of the trader's firm. The slightest advantage in speed or ability to assimilate information can generate significant returns in a fast moving market. Therefore, in today's fast and dynamically changing markets, a trader lacking those means may be at a disadvantage compared to other traders.
In addition to a standard trading application, traders often use additional programs, such as a separate spreadsheet program, to receive market data feeds and to generate numbers, based on those feeds. The numbers generated by those programs may then be used by a trader to manually enter and execute orders into a trading application. Instead of the manual order entry, some traders use a different approach, with often limited flexibility, by linking a spreadsheet program directly to a trading application. Orders are then automatically entered and executed by the trading application based on the generated numbers. The use of spreadsheets and trading applications in this manner does allow traders to enter orders faster than using traditional methods of order entry and execution.
There are currently existing automated trading applications that run on individual client terminals, and decisions are made on those terminals, (and only those terminals), about what tradeable object and when the selected tradeable object will be traded. In an electronic trading environment, individual client terminals send messages to one or more exchanges, and a trader whose messages arrive first at an exchange is the one whose orders get priority. However, if a client terminal is located far away from an electronic exchange, the network latency will slow down the speed with which an automatically generated request will reach an exchange. Network latency is typically a function of a number of parameters, and the parameters include the speed of communication links, a distance on the networks that have to be traversed, a number of intermediate devices, such as servers, through which communications have to flow, the amount of other load or congestion on the network, and the amount of processing time involved at each intermediate device. Therefore, if a trader's terminal is located far away from an exchange, the network latency may cause some messages to get to an exchange later than messages being sent from a terminal located closer to that exchange. This is especially true when a trader is located on one continent, such as North America, and an exchange is located on another continent, such as Europe, where the difference in network latency involved (due primarily to propagation delay) could be as much as 70-150 milliseconds. Such delays may be especially disadvantageous to traders who run the same automated trading strategy as other traders, but the first group of traders communicates with an exchange using communication links having much higher latency than those being experienced by the second group of traders.
To minimize the latency losses, it would be advantageous to move decision making related to automated trading from a client terminal to one or more centralized network entities that are located closer to exchanges so that the net result would be a faster trading decision. However, when an automatic trading tool runs on a shared server that is used by many traders, the server can only perform one action at a time. Therefore, if the server is to react to changes in the market by sending a plurality of orders to an exchange, the server can send only one order at a time, and thus, a decision has to be made which order should be sent first. Even if a server uses multiple processes or threads and can potentially perform more than one action at a time, but uses one communication link to an exchange, it still will be able to send only one message or request at a time over such a link. Some servers could also communicate with an exchange via more than one connection. However, even if there is more than one communications link between a server and an exchange, some decisions as to what gets sent first will still have to be made since there is no unlimited parallelism.
It is therefore desirable for electronic trading systems to offer tools that can be used for automated trading that is performed at network entity when more than one action is to be taken at the same time based on a trading strategy.